<?php
include_once 'lib/Aspect/Aspect.php';
include_once 'lib/Debug.php';
class Test implements Aspect {

    function before()
    {
        Debug::info("AOP: before");
    }

    function after()
    {
        Debug::info("AOP: after");
    }

    function around(JointPoint $jointPoint)
    {
        Debug::info("AOP: around:start");
        Debug::info("AOP: around:exec");
        $value = $jointPoint->exec();
        Debug::info("AOP: around:end");
        return $value;
    }

    function finally()
    {
        Debug::info("AOP: finally");
    }

    function exception(Exception $exception, array $methodArgc, string $handlerPath):bool
    {
       return false;
    }
}